package loveqq.niceexcel.read;

import loveqq.niceexcel.core.LocateDataHeadMetas;
import loveqq.niceexcel.core.MergedRegions;
import loveqq.niceexcel.enums.DataScopeEnum;
import loveqq.niceexcel.event.EventManager;
import lombok.Getter;
import lombok.Setter;

/**
 * 读取上下文
 *
 * @author zhongjh@tsintergy.com
 * @date 2022-08-17
 */
@Getter
@Setter
public class ReadContext {
    /**
     * 表头+返回数据类型
     */
    private Class<?> headClass;
    /**
     * 合并区域
     */
    private MergedRegions mergedRegions;
    /**
     * 事件管理器
     */
    private EventManager eventManager;
    /**
     * 定位数据表头元数据, 用于匹配单元格, 提取数据返回
     */
    private LocateDataHeadMetas locateDataHeadMetas;
    /**
     * 解析数据存储类型
     * 返回列表元素数据: {@link DataScopeEnum#COMMON}表示相同数据, {@link DataScopeEnum#SELF}表示私自数据
     */
    private DataScopeEnum dataScope = DataScopeEnum.SELF;


    public void resetDataScope() {
        this.dataScope = DataScopeEnum.SELF;
    }

}
